/**
Proveedor.java 
 * Clase que respresenta a un proveedor de oferta
 * puede publicar ofertas.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 */
package ocio.beans;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;

/**
 * Respresenta a un proveedor que publica ofertas sobre productos.
 * @author Esther García Galán
 * @author Rubén Gómez Vales
 * @version 1.0 13/05/2014
 * @see ocio.beans.Producto
 * @see ocio.beans.Usuario 
 */
public class Proveedor extends Usuario implements Serializable {

	private static final long serialVersionUID = 1L;
	private String telefono;
	private String nif;
	private int tipo;
	private Set<Producto> productos = new HashSet<Producto>(0);

	/**
	 * Constructor de Clase.	
	 */
	public Proveedor(){
	}
	
	 /**
	 * Método getter.         
	 * @return productos Devuelve el conjunto de productos del proveedor.
	 */ 
	public Set<Producto> getProductos() {
		return productos;
	}
	
	/**
	 * Método setter.         
	 * @param productos Establece el conjunto de productos del proveedor.
	 */ 
	public void setProductos(Set<Producto> productos) {
		this.productos = productos;
	}

	 /**
	 * Método getter.         
	 * @return telefono Devuelve el telefono de contacto del proveedor.
	 */ 
	public String getTelefono() {
		return telefono;
	}

	/**
	 * Método setter.         
	 * @param telefono Establece el telefono de contacto del proveedor.
	 */ 
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}

	 /**
	 * Método getter.         
	 * @return nif Devuelve el Número de Identificación Fiscal NIF del proveedor.
	 */ 
	public String getNif() {
		return nif;
	}

	/**
	 * Método setter.         
	 * @param nif Establece el Número de Identificación Fiscal NIF del proveedor.
	 */ 
	public void setNif(String nif) {
		this.nif = nif;
	}

	 /**
	 * Método getter.         
	 * @return tipo Devuelve el tipo de productos que puede ofertar un proveedor
	 *  1 para productos tipo Restaurante, 2 para tipo Espectáculos y 3 para tipo Actividades.
	 */ 
	public int getTipo() {
		return tipo;
	}

	/**
	 * Método setter.         
	 * @param tipo Establece el tipo de productos que puede ofertar un proveedor
	 *  1 para Restaurante, 2 para Espectáculos y 3 Actividades.
	 */ 
	public void setTipo(int tipo) {
		this.tipo = tipo;
	}

}
